package yjpay.service;

import java.io.IOException;

/**
 * 调用商户通用接口——直接退款、退款订单查询、交易订单查询
 * 
 * @author junqinghuang
 * 
 */
public interface MerchantAPIService {

	/**
	 * 直接退款
	 * 
	 * @param orderid
	 *            商户退货订单号
	 * @param origyborderid
	 *            原来易宝支付交易订单号
	 * @param amount
	 *            退款金额
	 * @param currency
	 *            币种，人民币：156
	 * @param cause
	 *            退款原因
	 * @return
	 * @throws IOException
	 */
	String driectRefund(String orderid, String origyborderid, String amount,
			String currency, String cause) throws Exception;

	/**
	 * 查询退款记录--验签方式使用RSA
	 * 
	 * @param urlPrefixEnum
	 *            URL前缀
	 * @param data
	 *            将业务数据加密后的密文
	 * @param encryptkey
	 *            加密的encryptkey
	 * @param merchantaccount
	 *            商户账户编号
	 * @return
	 * @throws IOException
	 */
	String queryRefund(String orderid,String yborderid)
			throws Exception;

	/**
	 * 查询交易记录
	 * @param orderid 商户交易订单号
	 * @param yborderid 易宝支付的交易流水号
	 * @return
	 * @throws Exception
	 */
	String queryOrder(String orderid,String yborderid)
			throws Exception;
	
	/**
	 * 根据时间段获取消费清算对账数据
	 * @param startdate 开始日期，如“2014-02-01”
	 * @param enddate 结束日期，如“2014-02-01”
	 * @return
	 * @throws Exception
	 */
	String clearPayData(String startdate,String enddate)
			throws Exception;

	/**
	 * 根据时间段获取退款清算对账数据
	 * @param startdate 开始日期，如“2014-02-01”
	 * @param enddate 结束日期，如“2014-02-01”
	 * @return
	 * @throws Exception
	 */
	String clearRefundData(String startdate,String enddate)
			throws Exception;
}
